<?php

namespace App\Http\Controllers\Web;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Laravel\Socialite\Facades\Socialite;

class AuthenticationController extends Controller
{
    //编写重定向第三方OAuth服务授权页面获取授权码的代码
    public function getSocialRedirect($account)
    {
        try{
            return  Socialite::with($account)->redirect();
        }catch (\InvalidArgumentException $e){
            return redirect('/login');
        }
    }

    //从第三方OAuth回调(github)中获取用户信息,如果该用户在roast不存在的话,将其保存到users表,然后手动对该用户进行登录认证操作
    //如果已存在的话直接进行登录操作
    public function getSocialCallback($account)
    {
        //从第三方oauth回调中获取用户信息
        $sociaUser=Socialite::with($account)->user();
        //在本地user表中查询该用户来判断是否已经存在

        //如果不存在将其保存到users表

        // 手动登录该用户

        //登录成功后将用户重定向到首页

    }
}
